// BranchTable.h: interface for the BranchTable class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BRANCHTABLE_H__3663CFD7_2646_4271_B6DB_B554BB471FBA__INCLUDED_)
#define AFX_BRANCHTABLE_H__3663CFD7_2646_4271_B6DB_B554BB471FBA__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "MultiRecordsDatabaseElement.h"
#include "BranchTableRecord.h"
#include "ManagerTemplate.h"
#include "Unit.h"
#include <vector>

namespace PDMS
{
	namespace PDMSDBIF
	{
		typedef DatabaseTableTemplate<BranchTableRecord> BranchTableBase;
		class DllExport BranchTable : public BranchTableBase
		{
		DECLARE_REGISTER_MAP( BranchTable );

		public:
			BranchTable();
			virtual ~BranchTable();
			
			unsigned long GetID();
			void SetID( unsigned long lID );
			const TemperatureUnit GetTemperature();
			void SetTemperature( const TemperatureUnit& buf);
			BOOL GetBuildFlag();
			void SetBuilFlag( BOOL bflag );
			BOOL GetShopFlag();
			void SetShopFlag( BOOL bflag );
			const LengthUnit GetHeadBore();
			void SetHeadBore( const LengthUnit& dbuf );
			const LengthUnit GetTailBore();
			void SetTailBore( const LengthUnit& dbuf );
			const UeGeVector3d GetHeadDir();
			void SetHeadDir( const UeGeVector3d& bufvec );
			const UeGePoint3d GetHeadPos();
			void SetHeadPos( const UeGePoint3d& bufpos );
			const PressureUnit GetPressure();
			void SetPressure( const PressureUnit& buf );
			const StdString GetCaseRef();
			void SetCaseRef( const StdString& strbuf );
			const StdString GetDescription();
			void SetDescription( const StdString& strbuf );
			const StdString GetFluRef();
			void SetFluRef( const StdString& strbuf );
			const StdString GetFunction();
			void SetFunction( const StdString& strbuf );
			const StdString GetHeadConn();
			void SetHeadConn( const StdString& strbuf );
			const StdString GetHeadRef();
			void SetHeadRef( const StdString& strbuf );
			const StdString GetHstube();
			void SetHstube( const StdString& strbuf );
			const StdString GetIspec();
			void SetIspec( const StdString& strbuf );
			const StdString GetMatRef();
			void SetMatRef( const StdString& strbuf );
			const StdString GetPspec();
			void SetPspec( const StdString& strbuf );
			const StdString GetPurpose();
			void SetPurpose( const StdString& strbuf );
			const StdString GetTailConn();
			void SetTailConn( const StdString& strbuf );
			const StdString GetTailRef();
			void SetTailRef( const StdString& strbuf );
			const StdString GetTspec();
			void SetTspec( const StdString& strbuf );
			unsigned long GetParentID();
			void SetParentID( unsigned long lID);
			const StdString GetPaintRef();
			void SetPaintRef( const StdString& strbuf );
			const UeGePoint3d GetTailPos();
			void SetTailPos( const UeGePoint3d& tpos );
			const UeGeVector3d GetTailDir();
			void SetTailDir( const UeGeVector3d& tdir );
			

		protected:
			virtual StdString GetOpenSQL( const StdString& strCondition );
			virtual StdString GetTableName();
			virtual void SetData( RecordPtr_ ptr );
			
		private:
		};
	}
}
#endif // !defined(AFX_BRANCHTABLE_H__3663CFD7_2646_4271_B6DB_B554BB471FBA__INCLUDED_)
